#ifndef OBJECT_H_INCLUDED
#define OBJECT_H_INCLUDED

#include <SDL.h>
#include "vect2D/Vect2D.h"

class Object
{
protected:
	Vect2D position;
	Vect2D speed;
	int health;
	double border;
	bool remove;

	SDL_Surface* sprite;
	SDL_Rect src_rect;
public:
	Object();
	virtual ~Object(){};

	virtual void Frame_calculate() = 0;

	// drawing functions
	virtual void Draw(SDL_Surface* screen, const Vect2D& offset);
	void Draw_border(SDL_Surface* screen, const Vect2D& offset, int color);

	//
	virtual int Hit()=0;
	virtual void Hit(int damage);
	virtual void Set_remove();

friend class World;
};

#endif // OBJECT_H_INCLUDED
